Skip to main content

Mysql数据库性能优化思路

思路

不分库分表
  • 软优化
    • 数据库参数调优
    • 分析慢查询SQL语句,分析执行计划,进行sql改写和程序改写
    • 优化数据库索引结构
    • 优化数据表结构
    • 引入NOSQL和程序架构调整
  • 硬优化
    • 提升系统硬件(更快的IO、更多的内存):带宽、CPU、硬盘
分库分表
  • 根据业务情况而定,选择合适的分库分表策略(没有通用的策略)
  • 先看只分表是否满足业务的需求和未来增长
    • 数据库分表能够解决单表数据量很大的时,数据查询的效率问题
    • 无法给数据库的并发操作带来效率上的提高,分表的实质还是在一个数据库上进行的操作,受数据库IO性能的限制
    • 如果单分表满足不了需求,再分库分表一起

结论

  • 在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案
  • 如果数据量极大,且业务持续增长快,再考虑分库分表方案